home *** CD-ROM | disk | FTP | other *** search
/ Danny Amor's Online Library / Danny Amor's Online Library - Volume 1.iso / html / rfc / rfcxxxx / rfc1628 < prev    next >
Text File  |  1995-07-26  |  83KB  |  2,524 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                    J. Case, Editor
  8. Request for Comments: 1628                   SNMP Research, Incorporated
  9. Category: Standards Track                                       May 1994
  10.  
  11.  
  12.                     UPS Management Information Base
  13.  
  14. Status of this Memo
  15.  
  16.    This document specifies an Internet standards track protocol for the
  17.    Internet community, and requests discussion and suggestions for
  18.    improvements.  Please refer to the current edition of the "Internet
  19.    Official Protocol Standards" (STD 1) for the standardization state
  20.    and status of this protocol.  Distribution of this memo is unlimited.
  21.  
  22. Table of Contents
  23.  
  24.    1. Introduction ..............................................    1
  25.    2. The SNMPv2 Network Management Framework ...................    2
  26.    2.1 Object Definitions .......................................    2
  27.    3. Overview ..................................................    2
  28.    4. Definitions ...............................................    3
  29.    4.1 The Device Identification Group...........................    4
  30.    4.2 The Battery Group ........................................    5
  31.    4.3 The Input Group ..........................................    7
  32.    4.4 The Output Group .........................................    9
  33.    4.5 The Bypass Group .........................................   12
  34.    4.6 The Alarm Group ..........................................   13
  35.    4.7 The Test Group ...........................................   19
  36.    4.8 The Control Group ........................................   23
  37.    4.9 The Configuration Group ..................................   26
  38.    5. Acknowledgements ..........................................   43
  39.    6. References ................................................   44
  40.    7. Security Considerations ...................................   45
  41.    8. Author's Address ..........................................   45
  42.  
  43. 1.  Introduction
  44.  
  45.    This memo defines a portion of the Management Information Base (MIB)
  46.    for use with network management protocols in the Internet community.
  47.    In particular, it defines objects for managing uninterruptible power
  48.    supply (UPS) systems.
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58. Case                                                            [Page 1]
  59.  
  60. RFC 1628                        UPS MIB                         May 1994
  61.  
  62.  
  63. 2.  The SNMPv2 Network Management Framework
  64.  
  65.    The SNMPv2 Network Management Framework consists of four major
  66.    components.  They are:
  67.  
  68.       o    RFC 1442 which defines the SMI, the mechanisms used for
  69.            describing and naming objects for the purpose of management.
  70.  
  71.       o    STD 17, RFC 1213 defines MIB-II, the core set of managed
  72.            objects for the Internet suite of protocols.
  73.  
  74.       o    RFC 1445 which defines the administrative and other
  75.            architectural aspects of the framework.
  76.  
  77.       o    RFC 1448 which defines the protocol used for network access
  78.            to managed objects.
  79.  
  80.    The Framework permits new objects to be defined for the purpose of
  81.    experimentation and evaluation.
  82.  
  83. 2.1.  Object Definitions
  84.  
  85.    Managed objects are accessed via a virtual information store, termed
  86.    the Management Information Base or MIB.  Objects in the MIB are
  87.    defined using the subset of Abstract Syntax Notation One (ASN.1)
  88.    defined in the SMI.  In particular, each object type is named by an
  89.    OBJECT IDENTIFIER, an administratively assigned name.  The object
  90.    type together with an object instance serves to uniquely identify a
  91.    specific instantiation of the object.  For human convenience, we
  92.    often use a textual string, termed the descriptor, to refer to the
  93.    object type.
  94.  
  95. 3.  Overview
  96.  
  97.    This document defines the managed objects for Uninterruptible Power
  98.    Supplies which are to be manageable via the Simple Network Management
  99.    Protocol (SNMP).
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114. Case                                                            [Page 2]
  115.  
  116. RFC 1628                        UPS MIB                         May 1994
  117.  
  118.  
  119. 4.  Definitions
  120.  
  121.    UPS-MIB DEFINITIONS ::= BEGIN
  122.  
  123.    IMPORTS
  124.        MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
  125.        OBJECT-IDENTITY, Counter32, Gauge32, Integer32
  126.            FROM SNMPv2-SMI
  127.        DisplayString, TimeStamp, TimeInterval, TestAndIncr,
  128.          AutonomousType
  129.            FROM SNMPv2-TC
  130.        MODULE-COMPLIANCE, OBJECT-GROUP
  131.            FROM SNMPv2-CONF;
  132.  
  133.  
  134.    upsMIB MODULE-IDENTITY
  135.        LAST-UPDATED "9402230000Z"
  136.        ORGANIZATION "IETF UPS MIB Working Group"
  137.        CONTACT-INFO
  138.               "        Jeffrey D. Case
  139.  
  140.                 Postal: SNMP Research, Incorporated
  141.                         3001 Kimberlin Heights Road
  142.                         Knoxville, TN  37920
  143.                         US
  144.  
  145.                    Tel: +1 615 573 1434
  146.                    Fax: +1 615 573 9197
  147.  
  148.                 E-mail: case@snmp.com"
  149.        DESCRIPTION
  150.                "The MIB module to describe Uninterruptible Power
  151.                Supplies."
  152.        ::= { mib-2 33 }
  153.  
  154.    PositiveInteger ::= TEXTUAL-CONVENTION
  155.        DISPLAY-HINT "d"
  156.        STATUS       current
  157.        DESCRIPTION
  158.                "This data type is a non-zero and non-negative value."
  159.        SYNTAX       INTEGER (1..2147483647)
  160.  
  161.    NonNegativeInteger ::= TEXTUAL-CONVENTION
  162.        DISPLAY-HINT "d"
  163.        STATUS       current
  164.        DESCRIPTION
  165.                "This data type is a non-negative value."
  166.        SYNTAX       INTEGER (0..2147483647)
  167.  
  168.  
  169.  
  170. Case                                                            [Page 3]
  171.  
  172. RFC 1628                        UPS MIB                         May 1994
  173.  
  174.  
  175.    upsObjects            OBJECT IDENTIFIER ::= { upsMIB 1 }
  176.  
  177.  
  178.    --
  179.    -- The Device Identification group.
  180.    --      All objects in this group except for upsIdentName and
  181.    --      upsIdentAttachedDevices are set at device initialization
  182.    --      and remain static.
  183.    --
  184.  
  185.    upsIdent              OBJECT IDENTIFIER ::= { upsObjects 1 }
  186.  
  187.    upsIdentManufacturer OBJECT-TYPE
  188.        SYNTAX     DisplayString (SIZE (0..31))
  189.        MAX-ACCESS read-only
  190.        STATUS     current
  191.        DESCRIPTION
  192.                "The name of the UPS manufacturer."
  193.        ::= { upsIdent 1 }
  194.  
  195.    upsIdentModel OBJECT-TYPE
  196.        SYNTAX     DisplayString (SIZE (0..63))
  197.        MAX-ACCESS read-only
  198.        STATUS     current
  199.        DESCRIPTION
  200.                "The UPS Model designation."
  201.        ::= { upsIdent 2 }
  202.  
  203.    upsIdentUPSSoftwareVersion OBJECT-TYPE
  204.        SYNTAX     DisplayString (SIZE (0..63))
  205.        MAX-ACCESS read-only
  206.        STATUS     current
  207.        DESCRIPTION
  208.                "The UPS firmware/software version(s).  This variable
  209.                may or may not have the same value as
  210.                upsIdentAgentSoftwareVersion in some implementations."
  211.        ::= { upsIdent 3 }
  212.  
  213.    upsIdentAgentSoftwareVersion OBJECT-TYPE
  214.        SYNTAX     DisplayString (SIZE (0..63))
  215.        MAX-ACCESS read-only
  216.        STATUS     current
  217.        DESCRIPTION
  218.                "The UPS agent software version.  This variable may or
  219.                may not have the same value as
  220.                upsIdentUPSSoftwareVersion in some implementations."
  221.        ::= { upsIdent 4 }
  222.  
  223.  
  224.  
  225.  
  226. Case                                                            [Page 4]
  227.  
  228. RFC 1628                        UPS MIB                         May 1994
  229.  
  230.  
  231.    upsIdentName OBJECT-TYPE
  232.        SYNTAX     DisplayString (SIZE(0..63))
  233.        MAX-ACCESS read-write
  234.        STATUS     current
  235.        DESCRIPTION
  236.                "A string identifying the UPS.  This object should be
  237.                set by the administrator."
  238.        ::= { upsIdent 5 }
  239.  
  240.    upsIdentAttachedDevices OBJECT-TYPE
  241.        SYNTAX     DisplayString (SIZE(0..63))
  242.        MAX-ACCESS read-write
  243.        STATUS     current
  244.        DESCRIPTION
  245.                "A string identifying the devices attached to the
  246.                output(s) of the UPS.  This object should be set by
  247.                the administrator."
  248.        ::= { upsIdent 6 }
  249.  
  250.  
  251.    --
  252.    -- Battery Group
  253.    --
  254.  
  255.    upsBattery            OBJECT IDENTIFIER ::= { upsObjects 2 }
  256.  
  257.    upsBatteryStatus OBJECT-TYPE
  258.        SYNTAX     INTEGER {
  259.            unknown(1),
  260.            batteryNormal(2),
  261.            batteryLow(3),
  262.            batteryDepleted(4)
  263.        }
  264.        MAX-ACCESS read-only
  265.        STATUS     current
  266.        DESCRIPTION
  267.                "The indication of the capacity remaining in the UPS
  268.                system's batteries.   A value of batteryNormal
  269.                indicates that the remaining run-time is greater than
  270.                upsConfigLowBattTime.  A value of batteryLow indicates
  271.                that the remaining battery run-time is less than or
  272.                equal to upsConfigLowBattTime.  A value of
  273.                batteryDepleted indicates that the UPS will be unable
  274.                to sustain the present load when and if the utility
  275.                power is lost (including the possibility that the
  276.                utility power is currently absent and the UPS is
  277.                unable to sustain the output)."
  278.        ::= { upsBattery 1 }
  279.  
  280.  
  281.  
  282. Case                                                            [Page 5]
  283.  
  284. RFC 1628                        UPS MIB                         May 1994
  285.  
  286.  
  287.    upsSecondsOnBattery OBJECT-TYPE
  288.        SYNTAX     NonNegativeInteger
  289.        UNITS      "seconds"
  290.        MAX-ACCESS read-only
  291.        STATUS     current
  292.        DESCRIPTION
  293.                "If the unit is on battery power, the elapsed time
  294.                since the UPS last switched to battery power, or the
  295.                time since the network management subsystem was last
  296.                restarted, whichever is less.  Zero shall be returned
  297.                if the unit is not on battery power."
  298.        ::= { upsBattery 2 }
  299.  
  300.    upsEstimatedMinutesRemaining OBJECT-TYPE
  301.        SYNTAX     PositiveInteger
  302.        UNITS      "minutes"
  303.        MAX-ACCESS read-only
  304.        STATUS     current
  305.        DESCRIPTION
  306.                "An estimate of the time to battery charge depletion
  307.                under the present load conditions if the utility power
  308.                is off and remains off, or if it were to be lost and
  309.                remain off."
  310.        ::= { upsBattery 3 }
  311.  
  312.    upsEstimatedChargeRemaining OBJECT-TYPE
  313.        SYNTAX     INTEGER (0..100)
  314.        UNITS      "percent"
  315.        MAX-ACCESS read-only
  316.        STATUS     current
  317.        DESCRIPTION
  318.                "An estimate of the battery charge remaining expressed
  319.                as a percent of full charge."
  320.        ::= { upsBattery 4 }
  321.  
  322.    upsBatteryVoltage OBJECT-TYPE
  323.        SYNTAX     NonNegativeInteger
  324.        UNITS      "0.1 Volt DC"
  325.        MAX-ACCESS read-only
  326.        STATUS     current
  327.        DESCRIPTION
  328.                "The magnitude of the present battery voltage."
  329.        ::= { upsBattery 5 }
  330.  
  331.    upsBatteryCurrent OBJECT-TYPE
  332.        SYNTAX     Integer32
  333.        UNITS      "0.1 Amp DC"
  334.        MAX-ACCESS read-only
  335.  
  336.  
  337.  
  338. Case                                                            [Page 6]
  339.  
  340. RFC 1628                        UPS MIB                         May 1994
  341.  
  342.  
  343.        STATUS     current
  344.        DESCRIPTION
  345.                "The present battery current."
  346.        ::= { upsBattery 6 }
  347.  
  348.    upsBatteryTemperature OBJECT-TYPE
  349.        SYNTAX     Integer32
  350.        UNITS      "degrees Centigrade"
  351.        MAX-ACCESS read-only
  352.        STATUS     current
  353.        DESCRIPTION
  354.                "The ambient temperature at or near the UPS Battery
  355.                casing."
  356.        ::= { upsBattery 7 }
  357.  
  358.  
  359.    --
  360.    -- Input Group
  361.    --
  362.  
  363.    upsInput              OBJECT IDENTIFIER ::= { upsObjects 3 }
  364.  
  365.    upsInputLineBads OBJECT-TYPE
  366.        SYNTAX     Counter32
  367.        MAX-ACCESS read-only
  368.        STATUS     current
  369.        DESCRIPTION
  370.                "A count of the number of times the input entered an
  371.                out-of-tolerance condition as defined by the
  372.                manufacturer.  This count is incremented by one each
  373.                time the input transitions from zero out-of-tolerance
  374.                lines to one or more input lines out-of-tolerance."
  375.        ::= { upsInput 1 }
  376.  
  377.  
  378.    upsInputNumLines OBJECT-TYPE
  379.        SYNTAX     NonNegativeInteger
  380.        MAX-ACCESS read-only
  381.        STATUS     current
  382.        DESCRIPTION
  383.                "The number of input lines utilized in this device.
  384.                This variable indicates the number of rows in the
  385.                input table."
  386.        ::= { upsInput 2 }
  387.  
  388.    upsInputTable OBJECT-TYPE
  389.        SYNTAX     SEQUENCE OF UpsInputEntry
  390.        MAX-ACCESS not-accessible
  391.  
  392.  
  393.  
  394. Case                                                            [Page 7]
  395.  
  396. RFC 1628                        UPS MIB                         May 1994
  397.  
  398.  
  399.        STATUS     current
  400.        DESCRIPTION
  401.                "A list of input table entries.  The number of entries
  402.                is given by the value of upsInputNumLines."
  403.        ::= { upsInput 3 }
  404.  
  405.    upsInputEntry OBJECT-TYPE
  406.        SYNTAX     UpsInputEntry
  407.        MAX-ACCESS not-accessible
  408.        STATUS     current
  409.        DESCRIPTION
  410.                "An entry containing information applicable to a
  411.                particular input line."
  412.        INDEX { upsInputLineIndex }
  413.        ::= { upsInputTable 1 }
  414.  
  415.    UpsInputEntry ::= SEQUENCE {
  416.        upsInputLineIndex   PositiveInteger,
  417.        upsInputFrequency   NonNegativeInteger,
  418.        upsInputVoltage     NonNegativeInteger,
  419.        upsInputCurrent     NonNegativeInteger,
  420.        upsInputTruePower   NonNegativeInteger
  421.    }
  422.  
  423.    upsInputLineIndex OBJECT-TYPE
  424.        SYNTAX     PositiveInteger
  425.        MAX-ACCESS not-accessible
  426.        STATUS     current
  427.        DESCRIPTION
  428.                "The input line identifier."
  429.        ::= { upsInputEntry 1 }
  430.  
  431.    upsInputFrequency OBJECT-TYPE
  432.        SYNTAX     NonNegativeInteger
  433.        UNITS      "0.1 Hertz"
  434.        MAX-ACCESS read-only
  435.        STATUS     current
  436.        DESCRIPTION
  437.                "The present input frequency."
  438.        ::= { upsInputEntry 2 }
  439.  
  440.    upsInputVoltage OBJECT-TYPE
  441.        SYNTAX     NonNegativeInteger
  442.        UNITS      "RMS Volts"
  443.        MAX-ACCESS read-only
  444.        STATUS     current
  445.        DESCRIPTION
  446.                "The magnitude of the present input voltage."
  447.  
  448.  
  449.  
  450. Case                                                            [Page 8]
  451.  
  452. RFC 1628                        UPS MIB                         May 1994
  453.  
  454.  
  455.        ::= { upsInputEntry 3 }
  456.  
  457.    upsInputCurrent OBJECT-TYPE
  458.        SYNTAX     NonNegativeInteger
  459.        UNITS      "0.1 RMS Amp"
  460.        MAX-ACCESS read-only
  461.        STATUS     current
  462.        DESCRIPTION
  463.                "The magnitude of the present input current."
  464.        ::= { upsInputEntry 4 }
  465.  
  466.    upsInputTruePower OBJECT-TYPE
  467.        SYNTAX     NonNegativeInteger
  468.        UNITS      "Watts"
  469.        MAX-ACCESS read-only
  470.        STATUS     current
  471.        DESCRIPTION
  472.                "The magnitude of the present input true power."
  473.        ::= { upsInputEntry 5 }
  474.  
  475.  
  476.    --
  477.    -- The Output group.
  478.    --
  479.  
  480.    upsOutput             OBJECT IDENTIFIER ::= { upsObjects 4 }
  481.  
  482.    upsOutputSource OBJECT-TYPE
  483.        SYNTAX     INTEGER {
  484.            other(1),
  485.            none(2),
  486.            normal(3),
  487.            bypass(4),
  488.            battery(5),
  489.            booster(6),
  490.            reducer(7)
  491.        }
  492.        MAX-ACCESS read-only
  493.        STATUS     current
  494.        DESCRIPTION
  495.                "The present source of output power.  The enumeration
  496.                none(2) indicates that there is no source of output
  497.                power (and therefore no output power), for example,
  498.                the system has opened the output breaker."
  499.        ::= { upsOutput 1 }
  500.  
  501.    upsOutputFrequency OBJECT-TYPE
  502.        SYNTAX     NonNegativeInteger
  503.  
  504.  
  505.  
  506. Case                                                            [Page 9]
  507.  
  508. RFC 1628                        UPS MIB                         May 1994
  509.  
  510.  
  511.        UNITS      "0.1 Hertz"
  512.        MAX-ACCESS read-only
  513.        STATUS     current
  514.        DESCRIPTION
  515.                "The present output frequency."
  516.        ::= { upsOutput 2 }
  517.  
  518.    upsOutputNumLines OBJECT-TYPE
  519.        SYNTAX     NonNegativeInteger
  520.        MAX-ACCESS read-only
  521.        STATUS     current
  522.        DESCRIPTION
  523.                "The number of output lines utilized in this device.
  524.                This variable indicates the number of rows in the
  525.                output table."
  526.        ::= { upsOutput 3 }
  527.  
  528.    upsOutputTable OBJECT-TYPE
  529.        SYNTAX     SEQUENCE OF UpsOutputEntry
  530.        MAX-ACCESS not-accessible
  531.        STATUS     current
  532.        DESCRIPTION
  533.                "A list of output table entries.  The number of
  534.                entries is given by the value of upsOutputNumLines."
  535.        ::= { upsOutput 4 }
  536.  
  537.    upsOutputEntry OBJECT-TYPE
  538.        SYNTAX     UpsOutputEntry
  539.        MAX-ACCESS not-accessible
  540.        STATUS     current
  541.        DESCRIPTION
  542.                "An entry containing information applicable to a
  543.                particular output line."
  544.        INDEX { upsOutputLineIndex }
  545.        ::= { upsOutputTable 1 }
  546.  
  547.    UpsOutputEntry ::= SEQUENCE {
  548.        upsOutputLineIndex   PositiveInteger,
  549.        upsOutputVoltage     NonNegativeInteger,
  550.        upsOutputCurrent     NonNegativeInteger,
  551.        upsOutputPower       NonNegativeInteger,
  552.        upsOutputPercentLoad INTEGER
  553.    }
  554.  
  555.    upsOutputLineIndex OBJECT-TYPE
  556.        SYNTAX     PositiveInteger
  557.        MAX-ACCESS not-accessible
  558.        STATUS     current
  559.  
  560.  
  561.  
  562. Case                                                           [Page 10]
  563.  
  564. RFC 1628                        UPS MIB                         May 1994
  565.  
  566.  
  567.        DESCRIPTION
  568.                "The output line identifier."
  569.        ::= { upsOutputEntry 1 }
  570.  
  571.    upsOutputVoltage OBJECT-TYPE
  572.        SYNTAX     NonNegativeInteger
  573.        UNITS      "RMS Volts"
  574.        MAX-ACCESS read-only
  575.        STATUS     current
  576.        DESCRIPTION
  577.                "The present output voltage."
  578.        ::= { upsOutputEntry 2 }
  579.  
  580.    upsOutputCurrent OBJECT-TYPE
  581.        SYNTAX     NonNegativeInteger
  582.        UNITS      "0.1 RMS Amp"
  583.        MAX-ACCESS read-only
  584.        STATUS     current
  585.        DESCRIPTION
  586.                "The present output current."
  587.        ::= { upsOutputEntry 3 }
  588.  
  589.    upsOutputPower OBJECT-TYPE
  590.        SYNTAX     NonNegativeInteger
  591.        UNITS      "Watts"
  592.        MAX-ACCESS read-only
  593.        STATUS     current
  594.        DESCRIPTION
  595.                "The present output true power."
  596.        ::= { upsOutputEntry 4 }
  597.  
  598.    upsOutputPercentLoad OBJECT-TYPE
  599.        SYNTAX     INTEGER (0..200)
  600.        UNITS      "percent"
  601.        MAX-ACCESS read-only
  602.        STATUS     current
  603.        DESCRIPTION
  604.                "The percentage of the UPS power capacity presently
  605.                being used on this output line, i.e., the greater of
  606.                the percent load of true power capacity and the
  607.                percent load of VA."
  608.        ::= { upsOutputEntry 5 }
  609.  
  610.  
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618. Case                                                           [Page 11]
  619.  
  620. RFC 1628                        UPS MIB                         May 1994
  621.  
  622.  
  623.    --
  624.    -- The Bypass group.
  625.    --
  626.  
  627.    upsBypass             OBJECT IDENTIFIER ::= { upsObjects 5 }
  628.  
  629.    upsBypassFrequency OBJECT-TYPE
  630.        SYNTAX     NonNegativeInteger
  631.        UNITS      "0.1 Hertz"
  632.        MAX-ACCESS read-only
  633.        STATUS     current
  634.        DESCRIPTION
  635.                "The present bypass frequency."
  636.        ::= { upsBypass 1 }
  637.  
  638.    upsBypassNumLines OBJECT-TYPE
  639.        SYNTAX     NonNegativeInteger
  640.        MAX-ACCESS read-only
  641.        STATUS     current
  642.        DESCRIPTION
  643.                "The number of bypass lines utilized in this device.
  644.                This entry indicates the number of rows in the bypass
  645.                table."
  646.        ::= { upsBypass 2 }
  647.  
  648.    upsBypassTable OBJECT-TYPE
  649.        SYNTAX     SEQUENCE OF UpsBypassEntry
  650.        MAX-ACCESS not-accessible
  651.        STATUS     current
  652.        DESCRIPTION
  653.                "A list of bypass table entries.  The number of
  654.                entries is given by the value of upsBypassNumLines."
  655.        ::= { upsBypass 3 }
  656.  
  657.    upsBypassEntry OBJECT-TYPE
  658.        SYNTAX     UpsBypassEntry
  659.        MAX-ACCESS not-accessible
  660.        STATUS     current
  661.        DESCRIPTION
  662.                "An entry containing information applicable to a
  663.                particular bypass input."
  664.        INDEX { upsBypassLineIndex }
  665.        ::= { upsBypassTable 1 }
  666.  
  667.    UpsBypassEntry ::= SEQUENCE {
  668.        upsBypassLineIndex  PositiveInteger,
  669.        upsBypassVoltage    NonNegativeInteger,
  670.        upsBypassCurrent    NonNegativeInteger,
  671.  
  672.  
  673.  
  674. Case                                                           [Page 12]
  675.  
  676. RFC 1628                        UPS MIB                         May 1994
  677.  
  678.  
  679.        upsBypassPower      NonNegativeInteger
  680.    }
  681.  
  682.    upsBypassLineIndex OBJECT-TYPE
  683.        SYNTAX     PositiveInteger
  684.        MAX-ACCESS not-accessible
  685.        STATUS     current
  686.        DESCRIPTION
  687.                "The bypass line identifier."
  688.        ::= { upsBypassEntry 1 }
  689.  
  690.    upsBypassVoltage OBJECT-TYPE
  691.        SYNTAX     NonNegativeInteger
  692.        UNITS      "RMS Volts"
  693.        MAX-ACCESS read-only
  694.        STATUS     current
  695.        DESCRIPTION
  696.                "The present bypass voltage."
  697.        ::= { upsBypassEntry 2 }
  698.  
  699.    upsBypassCurrent OBJECT-TYPE
  700.        SYNTAX     NonNegativeInteger
  701.        UNITS      "0.1 RMS Amp"
  702.        MAX-ACCESS read-only
  703.        STATUS     current
  704.        DESCRIPTION
  705.                "The present bypass current."
  706.        ::= { upsBypassEntry 3 }
  707.  
  708.    upsBypassPower OBJECT-TYPE
  709.        SYNTAX     NonNegativeInteger
  710.        UNITS      "Watts"
  711.        MAX-ACCESS read-only
  712.        STATUS     current
  713.        DESCRIPTION
  714.                "The present true power conveyed by the bypass."
  715.        ::= { upsBypassEntry 4 }
  716.  
  717.  
  718.    --
  719.    -- The Alarm group.
  720.    --
  721.  
  722.    upsAlarm              OBJECT IDENTIFIER ::= { upsObjects 6 }
  723.  
  724.    upsAlarmsPresent OBJECT-TYPE
  725.        SYNTAX     Gauge32
  726.        MAX-ACCESS read-only
  727.  
  728.  
  729.  
  730. Case                                                           [Page 13]
  731.  
  732. RFC 1628                        UPS MIB                         May 1994
  733.  
  734.  
  735.        STATUS     current
  736.        DESCRIPTION
  737.                "The present number of active alarm conditions."
  738.        ::= { upsAlarm 1 }
  739.  
  740.    upsAlarmTable OBJECT-TYPE
  741.        SYNTAX     SEQUENCE OF UpsAlarmEntry
  742.        MAX-ACCESS not-accessible
  743.        STATUS     current
  744.        DESCRIPTION
  745.                "A list of alarm table entries.  The table contains
  746.                zero, one, or many rows at any moment, depending upon
  747.                the number of alarm conditions in effect.  The table
  748.                is initially empty at agent startup.  The agent
  749.                creates a row in the table each time a condition is
  750.                detected and deletes that row when that condition no
  751.                longer pertains.  The agent creates the first row with
  752.                upsAlarmId equal to 1, and increments the value of
  753.                upsAlarmId each time a new row is created, wrapping to
  754.                the first free value greater than or equal to 1 when
  755.                the maximum value of upsAlarmId would otherwise be
  756.                exceeded.  Consequently, after multiple operations,
  757.                the table may become sparse, e.g., containing entries
  758.                for rows 95, 100, 101, and 203 and the entries should
  759.                not be assumed to be in chronological order because
  760.                upsAlarmId might have wrapped.
  761.  
  762.                Alarms are named by an AutonomousType (OBJECT
  763.                IDENTIFIER), upsAlarmDescr, to allow a single table to
  764.                reflect well known alarms plus alarms defined by a
  765.                particular implementation, i.e., as documented in the
  766.                private enterprise MIB definition for the device.  No
  767.                two rows will have the same value of upsAlarmDescr,
  768.                since alarms define conditions.  In order to meet this
  769.                requirement, care should be taken in the definition of
  770.                alarm conditions to insure that a system cannot enter
  771.                the same condition multiple times simultaneously.
  772.  
  773.                The number of rows in the table at any given time is
  774.                reflected by the value of upsAlarmsPresent."
  775.        ::= { upsAlarm 2 }
  776.  
  777.    upsAlarmEntry OBJECT-TYPE
  778.        SYNTAX     UpsAlarmEntry
  779.        MAX-ACCESS not-accessible
  780.        STATUS     current
  781.        DESCRIPTION
  782.                "An entry containing information applicable to a
  783.  
  784.  
  785.  
  786. Case                                                           [Page 14]
  787.  
  788. RFC 1628                        UPS MIB                         May 1994
  789.  
  790.  
  791.                particular alarm."
  792.        INDEX { upsAlarmId }
  793.        ::= { upsAlarmTable 1 }
  794.  
  795.    UpsAlarmEntry ::= SEQUENCE {
  796.        upsAlarmId          PositiveInteger,
  797.        upsAlarmDescr       AutonomousType,
  798.        upsAlarmTime        TimeStamp
  799.    }
  800.  
  801.    upsAlarmId OBJECT-TYPE
  802.        SYNTAX     PositiveInteger
  803.        MAX-ACCESS not-accessible
  804.        STATUS     current
  805.        DESCRIPTION
  806.                "A unique identifier for an alarm condition.  This
  807.                value must remain constant."
  808.        ::= { upsAlarmEntry 1 }
  809.  
  810.    upsAlarmDescr OBJECT-TYPE
  811.        SYNTAX     AutonomousType
  812.        MAX-ACCESS read-only
  813.        STATUS     current
  814.        DESCRIPTION
  815.                "A reference to an alarm description object.  The
  816.                object referenced should not be accessible, but rather
  817.                be used to provide a unique description of the alarm
  818.                condition."
  819.        ::= { upsAlarmEntry 2 }
  820.  
  821.    upsAlarmTime OBJECT-TYPE
  822.        SYNTAX     TimeStamp
  823.        MAX-ACCESS read-only
  824.        STATUS     current
  825.        DESCRIPTION
  826.                "The value of sysUpTime when the alarm condition was
  827.                detected.  If the alarm condition was detected at the
  828.                time of agent startup and presumably existed before
  829.                agent startup, the value of upsAlarmTime shall equal
  830.                0."
  831.        ::= { upsAlarmEntry 3 }
  832.  
  833.  
  834.    --
  835.    -- Well known alarm conditions.
  836.    --
  837.  
  838.    upsWellKnownAlarms    OBJECT IDENTIFIER ::= { upsAlarm 3 }
  839.  
  840.  
  841.  
  842. Case                                                           [Page 15]
  843.  
  844. RFC 1628                        UPS MIB                         May 1994
  845.  
  846.  
  847.    upsAlarmBatteryBad OBJECT-IDENTITY
  848.        STATUS     current
  849.        DESCRIPTION
  850.                "One or more batteries have been determined to require
  851.                replacement."
  852.        ::= { upsWellKnownAlarms  1 }
  853.  
  854.    upsAlarmOnBattery OBJECT-IDENTITY
  855.        STATUS     current
  856.        DESCRIPTION
  857.                "The UPS is drawing power from the batteries."
  858.        ::= { upsWellKnownAlarms  2 }
  859.  
  860.    upsAlarmLowBattery OBJECT-IDENTITY
  861.        STATUS     current
  862.        DESCRIPTION
  863.                "The remaining battery run-time is less than or equal
  864.                to upsConfigLowBattTime."
  865.        ::= { upsWellKnownAlarms  3 }
  866.  
  867.  
  868.    upsAlarmDepletedBattery OBJECT-IDENTITY
  869.        STATUS     current
  870.        DESCRIPTION
  871.                "The UPS will be unable to sustain the present load
  872.                when and if the utility power is lost."
  873.        ::= { upsWellKnownAlarms  4 }
  874.  
  875.    upsAlarmTempBad OBJECT-IDENTITY
  876.        STATUS     current
  877.        DESCRIPTION
  878.                "A temperature is out of tolerance."
  879.        ::= { upsWellKnownAlarms  5 }
  880.  
  881.    upsAlarmInputBad OBJECT-IDENTITY
  882.        STATUS     current
  883.        DESCRIPTION
  884.                "An input condition is out of tolerance."
  885.        ::= { upsWellKnownAlarms  6 }
  886.  
  887.    upsAlarmOutputBad OBJECT-IDENTITY
  888.        STATUS     current
  889.        DESCRIPTION
  890.                "An output condition (other than OutputOverload) is
  891.                out of tolerance."
  892.        ::= { upsWellKnownAlarms  7 }
  893.  
  894.    upsAlarmOutputOverload OBJECT-IDENTITY
  895.  
  896.  
  897.  
  898. Case                                                           [Page 16]
  899.  
  900. RFC 1628                        UPS MIB                         May 1994
  901.  
  902.  
  903.        STATUS     current
  904.        DESCRIPTION
  905.                "The output load exceeds the UPS output capacity."
  906.        ::= { upsWellKnownAlarms  8 }
  907.  
  908.    upsAlarmOnBypass OBJECT-IDENTITY
  909.        STATUS     current
  910.        DESCRIPTION
  911.                "The Bypass is presently engaged on the UPS."
  912.        ::= { upsWellKnownAlarms  9 }
  913.  
  914.    upsAlarmBypassBad OBJECT-IDENTITY
  915.        STATUS     current
  916.        DESCRIPTION
  917.                "The Bypass is out of tolerance."
  918.        ::= { upsWellKnownAlarms 10 }
  919.  
  920.    upsAlarmOutputOffAsRequested OBJECT-IDENTITY
  921.        STATUS     current
  922.        DESCRIPTION
  923.                "The UPS has shutdown as requested, i.e., the output
  924.                is off."
  925.        ::= { upsWellKnownAlarms 11 }
  926.  
  927.    upsAlarmUpsOffAsRequested OBJECT-IDENTITY
  928.        STATUS     current
  929.        DESCRIPTION
  930.                "The entire UPS has shutdown as commanded."
  931.        ::= { upsWellKnownAlarms 12 }
  932.  
  933.    upsAlarmChargerFailed OBJECT-IDENTITY
  934.        STATUS     current
  935.        DESCRIPTION
  936.                "An uncorrected problem has been detected within the
  937.                UPS charger subsystem."
  938.        ::= { upsWellKnownAlarms 13 }
  939.  
  940.    upsAlarmUpsOutputOff OBJECT-IDENTITY
  941.        STATUS     current
  942.        DESCRIPTION
  943.                "The output of the UPS is in the off state."
  944.        ::= { upsWellKnownAlarms 14 }
  945.  
  946.    upsAlarmUpsSystemOff OBJECT-IDENTITY
  947.        STATUS     current
  948.        DESCRIPTION
  949.                "The UPS system is in the off state."
  950.        ::= { upsWellKnownAlarms 15 }
  951.  
  952.  
  953.  
  954. Case                                                           [Page 17]
  955.  
  956. RFC 1628                        UPS MIB                         May 1994
  957.  
  958.  
  959.    upsAlarmFanFailure OBJECT-IDENTITY
  960.        STATUS     current
  961.        DESCRIPTION
  962.                "The failure of one or more fans in the UPS has been
  963.                detected."
  964.        ::= { upsWellKnownAlarms 16 }
  965.  
  966.    upsAlarmFuseFailure OBJECT-IDENTITY
  967.        STATUS     current
  968.        DESCRIPTION
  969.                "The failure of one or more fuses has been detected."
  970.        ::= { upsWellKnownAlarms 17 }
  971.  
  972.    upsAlarmGeneralFault OBJECT-IDENTITY
  973.        STATUS     current
  974.        DESCRIPTION
  975.                "A general fault in the UPS has been detected."
  976.        ::= { upsWellKnownAlarms 18 }
  977.  
  978.    upsAlarmDiagnosticTestFailed OBJECT-IDENTITY
  979.        STATUS     current
  980.        DESCRIPTION
  981.                "The result of the last diagnostic test indicates a
  982.                failure."
  983.        ::= { upsWellKnownAlarms 19 }
  984.  
  985.    upsAlarmCommunicationsLost OBJECT-IDENTITY
  986.        STATUS     current
  987.        DESCRIPTION
  988.                "A problem has been encountered in the communications
  989.                between the agent and the UPS."
  990.        ::= { upsWellKnownAlarms 20 }
  991.  
  992.    upsAlarmAwaitingPower OBJECT-IDENTITY
  993.        STATUS     current
  994.        DESCRIPTION
  995.                "The UPS output is off and the UPS is awaiting the
  996.                return of input power."
  997.        ::= { upsWellKnownAlarms 21 }
  998.  
  999.    upsAlarmShutdownPending OBJECT-IDENTITY
  1000.        STATUS     current
  1001.        DESCRIPTION
  1002.                "A upsShutdownAfterDelay countdown is underway."
  1003.        ::= { upsWellKnownAlarms 22 }
  1004.  
  1005.    upsAlarmShutdownImminent OBJECT-IDENTITY
  1006.        STATUS     current
  1007.  
  1008.  
  1009.  
  1010. Case                                                           [Page 18]
  1011.  
  1012. RFC 1628                        UPS MIB                         May 1994
  1013.  
  1014.  
  1015.        DESCRIPTION
  1016.                "The UPS will turn off power to the load in less than
  1017.                5 seconds; this may be either a timed shutdown or a
  1018.                low battery shutdown."
  1019.        ::= { upsWellKnownAlarms 23 }
  1020.  
  1021.    upsAlarmTestInProgress OBJECT-IDENTITY
  1022.        STATUS     current
  1023.        DESCRIPTION
  1024.                "A test is in progress, as initiated and indicated by
  1025.                the Test Group.  Tests initiated via other
  1026.                implementation-specific mechanisms can indicate the
  1027.                presence of the testing in the alarm table, if
  1028.                desired, via a OBJECT-IDENTITY macro in the MIB
  1029.                document specific to that implementation and are
  1030.                outside the scope of this OBJECT-IDENTITY."
  1031.        ::= { upsWellKnownAlarms 24 }
  1032.  
  1033.  
  1034.    --
  1035.    -- The Test Group
  1036.    --
  1037.  
  1038.    upsTest               OBJECT IDENTIFIER ::= { upsObjects 7 }
  1039.  
  1040.    upsTestId OBJECT-TYPE
  1041.        SYNTAX     OBJECT IDENTIFIER
  1042.        MAX-ACCESS read-write
  1043.        STATUS     current
  1044.        DESCRIPTION
  1045.                "The test is named by an OBJECT IDENTIFIER which
  1046.                allows a standard mechanism for the initiation of
  1047.                tests, including the well known tests identified in
  1048.                this document as well as those introduced by a
  1049.                particular implementation, i.e., as documented in the
  1050.                private enterprise MIB definition for the device.
  1051.  
  1052.                Setting this variable initiates the named test. Sets
  1053.                to this variable require the presence of
  1054.                upsTestSpinLock in the same SNMP message.
  1055.  
  1056.                The set request will be rejected with an appropriate
  1057.                error message if the requested test cannot be
  1058.                performed, including attempts to start a test when
  1059.                another test is already in progress.  The status of
  1060.                the current or last test is maintained in
  1061.                upsTestResultsSummary. Tests in progress may be
  1062.                aborted by setting the upsTestId variable to
  1063.  
  1064.  
  1065.  
  1066. Case                                                           [Page 19]
  1067.  
  1068. RFC 1628                        UPS MIB                         May 1994
  1069.  
  1070.  
  1071.                upsTestAbortTestInProgress.
  1072.  
  1073.                Read operations return the value of the name of the
  1074.                test in progress if a test is in progress or the name
  1075.                of the last test performed if no test is in progress,
  1076.                unless no test has been run, in which case the well
  1077.                known value upsTestNoTestsInitiated is returned."
  1078.        ::= { upsTest 1 }
  1079.  
  1080.    -- see [6] for more information on the semantics of objects with
  1081.    -- syntax of TestAndIncr
  1082.  
  1083.    upsTestSpinLock OBJECT-TYPE
  1084.        SYNTAX     TestAndIncr
  1085.        MAX-ACCESS read-write
  1086.        STATUS     current
  1087.        DESCRIPTION
  1088.                "A spin lock on the test subsystem.  The spinlock is
  1089.                used as follows.
  1090.  
  1091.                Before starting a test, a manager-station should make
  1092.                sure that a test is not in progress as follows:
  1093.  
  1094.                    try_again:
  1095.                      get (upsTestSpinLock)
  1096.                      while (upsTestResultsSummary == inProgress) {
  1097.                        /* loop while a test is running for another
  1098.                manager */
  1099.                        short delay
  1100.                        get (upsTestSpinLock)
  1101.                      }
  1102.                      lock_value = upsTestSpinLock
  1103.                      /* no test in progress, start the test */
  1104.                      set (upsTestSpinLock = lock_value, upsTestId =
  1105.                requested_test)
  1106.                      if (error_index == 1) { /* (upsTestSpinLock
  1107.                failed) */
  1108.                        /* if problem is not access control, then
  1109.                            some other manager slipped in ahead of us
  1110.                */
  1111.                        goto try_again
  1112.                      }
  1113.                      if (error_index == 2) { /* (upsTestId) */
  1114.                        /* cannot perform the test */
  1115.                        give up
  1116.                      }
  1117.                      /* test started ok */
  1118.                      /* wait for test completion by polling
  1119.  
  1120.  
  1121.  
  1122. Case                                                           [Page 20]
  1123.  
  1124. RFC 1628                        UPS MIB                         May 1994
  1125.  
  1126.  
  1127.                upsTestResultsSummary */
  1128.                      get (upsTestSpinLock, upsTestResultsSummary,
  1129.                upsTestResultsDetail)
  1130.                      while (upsTestResultsSummary == inProgress) {
  1131.                        short delay
  1132.                        get (upsTestSpinLock, upsTestResultsSummary,
  1133.                upsTestResultsDetail)
  1134.                      }
  1135.                      /* when test completes, retrieve any additional
  1136.                test results */
  1137.                      /* if upsTestSpinLock == lock_value + 1, then
  1138.                these are our test */
  1139.                      /* results (as opposed to another manager's */
  1140.                      The initial value of upsTestSpinLock at agent
  1141.                initialization shall
  1142.                      be 1."
  1143.        ::= { upsTest 2 }
  1144.  
  1145.    upsTestResultsSummary OBJECT-TYPE
  1146.        SYNTAX     INTEGER {
  1147.            donePass(1),
  1148.            doneWarning(2),
  1149.            doneError(3),
  1150.            aborted(4),
  1151.            inProgress(5),
  1152.            noTestsInitiated(6)
  1153.        }
  1154.        MAX-ACCESS read-only
  1155.        STATUS     current
  1156.        DESCRIPTION
  1157.                "The results of the current or last UPS diagnostics
  1158.                test performed.  The values for donePass(1),
  1159.                doneWarning(2), and doneError(3) indicate that the
  1160.                test completed either successfully, with a warning, or
  1161.                with an error, respectively.  The value aborted(4) is
  1162.                returned for tests which are aborted by setting the
  1163.                value of upsTestId to upsTestAbortTestInProgress.
  1164.                Tests which have not yet concluded are indicated by
  1165.                inProgress(5).  The value noTestsInitiated(6)
  1166.                indicates that no previous test results are available,
  1167.                such as is the case when no tests have been run since
  1168.                the last reinitialization of the network management
  1169.                subsystem and the system has no provision for non-
  1170.                volatile storage of test results."
  1171.        ::= { upsTest 3 }
  1172.  
  1173.    upsTestResultsDetail OBJECT-TYPE
  1174.        SYNTAX     DisplayString (SIZE (0..255))
  1175.  
  1176.  
  1177.  
  1178. Case                                                           [Page 21]
  1179.  
  1180. RFC 1628                        UPS MIB                         May 1994
  1181.  
  1182.  
  1183.        MAX-ACCESS read-only
  1184.        STATUS     current
  1185.        DESCRIPTION
  1186.                "Additional information about upsTestResultsSummary.
  1187.                If no additional information available, a zero length
  1188.                string is returned."
  1189.        ::= { upsTest 4 }
  1190.  
  1191.    upsTestStartTime OBJECT-TYPE
  1192.        SYNTAX     TimeStamp
  1193.        MAX-ACCESS read-only
  1194.        STATUS     current
  1195.        DESCRIPTION
  1196.                "The value of sysUpTime at the time the test in
  1197.                progress was initiated, or, if no test is in progress,
  1198.                the time the previous test was initiated.  If the
  1199.                value of upsTestResultsSummary is noTestsInitiated(6),
  1200.                upsTestStartTime has the value 0."
  1201.        ::= { upsTest 5 }
  1202.  
  1203.    upsTestElapsedTime OBJECT-TYPE
  1204.        SYNTAX     TimeInterval
  1205.        MAX-ACCESS read-only
  1206.        STATUS     current
  1207.        DESCRIPTION
  1208.                "The amount of time, in TimeTicks, since the test in
  1209.                progress was initiated, or, if no test is in progress,
  1210.                the previous test took to complete.  If the value of
  1211.                upsTestResultsSummary is noTestsInitiated(6),
  1212.                upsTestElapsedTime has the value 0."
  1213.        ::= { upsTest 6 }
  1214.  
  1215.    --
  1216.    -- Well known tests.
  1217.    --
  1218.  
  1219.    upsWellKnownTests     OBJECT IDENTIFIER ::= { upsTest 7 }
  1220.  
  1221.  
  1222.    upsTestNoTestsInitiated OBJECT-IDENTITY
  1223.        STATUS     current
  1224.        DESCRIPTION
  1225.                "No tests have been initiated and no test is in
  1226.                progress."
  1227.        ::= { upsWellKnownTests  1 }
  1228.  
  1229.    upsTestAbortTestInProgress OBJECT-IDENTITY
  1230.        STATUS     current
  1231.  
  1232.  
  1233.  
  1234. Case                                                           [Page 22]
  1235.  
  1236. RFC 1628                        UPS MIB                         May 1994
  1237.  
  1238.  
  1239.        DESCRIPTION
  1240.                "The test in progress is to be aborted / the test in
  1241.                progress was aborted."
  1242.        ::= { upsWellKnownTests  2 }
  1243.  
  1244.    upsTestGeneralSystemsTest OBJECT-IDENTITY
  1245.        STATUS     current
  1246.        DESCRIPTION
  1247.                "The manufacturer's standard test of UPS device
  1248.                systems."
  1249.        ::= { upsWellKnownTests  3 }
  1250.  
  1251.    upsTestQuickBatteryTest OBJECT-IDENTITY
  1252.        STATUS     current
  1253.        DESCRIPTION
  1254.                "A test that is sufficient to determine if the battery
  1255.                needs replacement."
  1256.        ::= { upsWellKnownTests  4 }
  1257.  
  1258.    upsTestDeepBatteryCalibration OBJECT-IDENTITY
  1259.        STATUS     current
  1260.        DESCRIPTION
  1261.                "The system is placed on battery to a discharge level,
  1262.                set by the manufacturer, sufficient to determine
  1263.                battery replacement and battery run-time with a high
  1264.                degree of confidence.  WARNING:  this test will leave
  1265.                the battery in a low charge state and will require
  1266.                time for recharging to a level sufficient to provide
  1267.                normal battery duration for the protected load."
  1268.        ::= { upsWellKnownTests  5 }
  1269.  
  1270.  
  1271.    --
  1272.    -- The Control group.
  1273.    --
  1274.  
  1275.    upsControl            OBJECT IDENTIFIER ::= { upsObjects 8 }
  1276.  
  1277.    upsShutdownType OBJECT-TYPE
  1278.        SYNTAX     INTEGER {
  1279.            output(1),
  1280.            system(2)
  1281.        }
  1282.        MAX-ACCESS read-write
  1283.        STATUS     current
  1284.        DESCRIPTION
  1285.                "This object determines the nature of the action to be
  1286.                taken at the time when the countdown of the
  1287.  
  1288.  
  1289.  
  1290. Case                                                           [Page 23]
  1291.  
  1292. RFC 1628                        UPS MIB                         May 1994
  1293.  
  1294.  
  1295.                upsShutdownAfterDelay and upsRebootWithDuration
  1296.                objects reaches zero.
  1297.  
  1298.                Setting this object to output(1) indicates that
  1299.                shutdown requests should cause only the output of the
  1300.                UPS to turn off.  Setting this object to system(2)
  1301.                indicates that shutdown requests will cause the entire
  1302.                UPS system to turn off."
  1303.        ::= { upsControl 1 }
  1304.  
  1305.    upsShutdownAfterDelay OBJECT-TYPE
  1306.        SYNTAX     INTEGER (-1..2147483648)
  1307.        UNITS      "seconds"
  1308.        MAX-ACCESS read-write
  1309.        STATUS     current
  1310.        DESCRIPTION
  1311.                "Setting this object will shutdown (i.e., turn off)
  1312.                either the UPS output or the UPS system (as determined
  1313.                by the value of upsShutdownType at the time of
  1314.                shutdown) after the indicated number of seconds, or
  1315.                less if the UPS batteries become depleted. Setting
  1316.                this object to 0 will cause the shutdown to occur
  1317.                immediately.  Setting this object to -1 will abort the
  1318.                countdown.  If the system is already in the desired
  1319.                state at the time the countdown reaches 0, then
  1320.                nothing will happen.  That is, there is no additional
  1321.                action at that time if upsShutdownType = system and
  1322.                the system is already off.  Similarly, there is no
  1323.                additional action at that time if upsShutdownType =
  1324.                output and the output is already off.  When read,
  1325.                upsShutdownAfterDelay will return the number of
  1326.                seconds remaining until shutdown, or -1 if no shutdown
  1327.                countdown is in effect.  On some systems, if the agent
  1328.                is restarted while a shutdown countdown is in effect,
  1329.                the countdown may be aborted.  Sets to this object
  1330.                override any upsShutdownAfterDelay already in effect."
  1331.        ::= { upsControl 2 }
  1332.  
  1333.    upsStartupAfterDelay OBJECT-TYPE
  1334.        SYNTAX     INTEGER (-1..2147483648)
  1335.        UNITS      "seconds"
  1336.        MAX-ACCESS read-write
  1337.        STATUS     current
  1338.        DESCRIPTION
  1339.                "Setting this object will start the output after the
  1340.                indicated number of seconds, including starting the
  1341.                UPS, if necessary.  Setting this object to 0 will
  1342.                cause the startup to occur immediately.  Setting this
  1343.  
  1344.  
  1345.  
  1346. Case                                                           [Page 24]
  1347.  
  1348. RFC 1628                        UPS MIB                         May 1994
  1349.  
  1350.  
  1351.                object to -1 will abort the countdown.  If the output
  1352.                is already on at the time the countdown reaches 0,
  1353.                then nothing will happen.  Sets to this object
  1354.                override the effect of any upsStartupAfterDelay
  1355.                countdown or upsRebootWithDuration countdown in
  1356.                progress.  When read, upsStartupAfterDelay will return
  1357.                the number of seconds until startup, or -1 if no
  1358.                startup countdown is in effect.  If the countdown
  1359.                expires during a utility failure, the startup shall
  1360.                not occur until the utility power is restored.  On
  1361.                some systems, if the agent is restarted while a
  1362.                startup countdown is in effect, the countdown is
  1363.                aborted."
  1364.        ::= { upsControl 3 }
  1365.  
  1366.    upsRebootWithDuration OBJECT-TYPE
  1367.        SYNTAX     INTEGER (-1..300)
  1368.        UNITS      "seconds"
  1369.        MAX-ACCESS read-write
  1370.        STATUS     current
  1371.        DESCRIPTION
  1372.                "Setting this object will immediately shutdown (i.e.,
  1373.                turn off) either the UPS output or the UPS system (as
  1374.                determined by the value of upsShutdownType at the time
  1375.                of shutdown) for a period equal to the indicated
  1376.                number of seconds, after which time the output will be
  1377.                started, including starting the UPS, if necessary.  If
  1378.                the number of seconds required to perform the request
  1379.                is greater than the requested duration, then the
  1380.                requested shutdown and startup cycle shall be
  1381.                performed in the minimum time possible, but in no case
  1382.                shall this require more than the requested duration
  1383.                plus 60 seconds.  When read, upsRebootWithDuration
  1384.                shall return the number of seconds remaining in the
  1385.                countdown, or -1 if no countdown is in progress.  If
  1386.                the startup should occur during a utility failure, the
  1387.                startup shall not occur until the utility power is
  1388.                restored."
  1389.        ::= { upsControl 4 }
  1390.  
  1391.    upsAutoRestart OBJECT-TYPE
  1392.        SYNTAX     INTEGER {
  1393.            on(1),
  1394.            off(2)
  1395.        }
  1396.        MAX-ACCESS read-write
  1397.        STATUS     current
  1398.        DESCRIPTION
  1399.  
  1400.  
  1401.  
  1402. Case                                                           [Page 25]
  1403.  
  1404. RFC 1628                        UPS MIB                         May 1994
  1405.  
  1406.  
  1407.                "Setting this object to 'on' will cause the UPS system
  1408.                to restart after a shutdown if the shutdown occurred
  1409.                during a power loss as a result of either a
  1410.                upsShutdownAfterDelay or an internal battery depleted
  1411.                condition.  Setting this object to 'off' will prevent
  1412.                the UPS system from restarting after a shutdown until
  1413.                an operator manually or remotely explicitly restarts
  1414.                it.  If the UPS is in a startup or reboot countdown,
  1415.                then the UPS will not restart until that delay has
  1416.                been satisfied."
  1417.        ::= { upsControl 5 }
  1418.  
  1419.  
  1420.    --
  1421.    -- The Configuration group.
  1422.    --
  1423.  
  1424.    upsConfig             OBJECT IDENTIFIER ::= { upsObjects 9 }
  1425.  
  1426.    upsConfigInputVoltage OBJECT-TYPE
  1427.        SYNTAX     NonNegativeInteger
  1428.        UNITS      "RMS Volts"
  1429.        MAX-ACCESS read-write
  1430.        STATUS     current
  1431.        DESCRIPTION
  1432.                "The magnitude of the nominal input voltage.  On those
  1433.                systems which support read-write access to this
  1434.                object, if there is an attempt to set this variable to
  1435.                a value that is not supported, the request must be
  1436.                rejected and the agent shall respond with an
  1437.                appropriate error message, i.e., badValue for SNMPv1,
  1438.                or inconsistentValue for SNMPv2."
  1439.        ::= { upsConfig 1 }
  1440.  
  1441.    upsConfigInputFreq OBJECT-TYPE
  1442.        SYNTAX     NonNegativeInteger
  1443.        UNITS      "0.1 Hertz"
  1444.        MAX-ACCESS read-write
  1445.        STATUS     current
  1446.        DESCRIPTION
  1447.                "The nominal input frequency.  On those systems which
  1448.                support read-write access to this object, if there is
  1449.                an attempt to set this variable to a value that is not
  1450.                supported, the request must be rejected and the agent
  1451.                shall respond with an appropriate error message, i.e.,
  1452.                badValue for SNMPv1, or inconsistentValue for SNMPv2."
  1453.        ::= { upsConfig 2 }
  1454.  
  1455.  
  1456.  
  1457.  
  1458. Case                                                           [Page 26]
  1459.  
  1460. RFC 1628                        UPS MIB                         May 1994
  1461.  
  1462.  
  1463.    upsConfigOutputVoltage OBJECT-TYPE
  1464.        SYNTAX     NonNegativeInteger
  1465.        UNITS      "RMS Volts"
  1466.        MAX-ACCESS read-write
  1467.        STATUS     current
  1468.        DESCRIPTION
  1469.                "The magnitude of the nominal output voltage.  On
  1470.                those systems which support read-write access to this
  1471.                object, if there is an attempt to set this variable to
  1472.                a value that is not supported, the request must be
  1473.                rejected and the agent shall respond with an
  1474.                appropriate error message, i.e., badValue for SNMPv1,
  1475.                or inconsistentValue for SNMPv2."
  1476.        ::= { upsConfig 3 }
  1477.  
  1478.    upsConfigOutputFreq OBJECT-TYPE
  1479.        SYNTAX     NonNegativeInteger
  1480.        UNITS      "0.1 Hertz"
  1481.        MAX-ACCESS read-write
  1482.        STATUS     current
  1483.        DESCRIPTION
  1484.                "The nominal output frequency.  On those systems which
  1485.                support read-write access to this object, if there is
  1486.                an attempt to set this variable to a value that is not
  1487.                supported, the request must be rejected and the agent
  1488.                shall respond with an appropriate error message, i.e.,
  1489.                badValue for SNMPv1, or inconsistentValue for SNMPv2."
  1490.        ::= { upsConfig 4 }
  1491.  
  1492.    upsConfigOutputVA OBJECT-TYPE
  1493.        SYNTAX     NonNegativeInteger
  1494.        UNITS      "Volt-Amps"
  1495.        MAX-ACCESS read-only
  1496.        STATUS     current
  1497.        DESCRIPTION
  1498.                "The magnitude of the nominal Volt-Amp rating."
  1499.        ::= { upsConfig 5 }
  1500.  
  1501.    upsConfigOutputPower OBJECT-TYPE
  1502.        SYNTAX     NonNegativeInteger
  1503.        UNITS      "Watts"
  1504.        MAX-ACCESS read-only
  1505.        STATUS     current
  1506.        DESCRIPTION
  1507.                "The magnitude of the nominal true power rating."
  1508.        ::= { upsConfig 6 }
  1509.  
  1510.    upsConfigLowBattTime OBJECT-TYPE
  1511.  
  1512.  
  1513.  
  1514. Case                                                           [Page 27]
  1515.  
  1516. RFC 1628                        UPS MIB                         May 1994
  1517.  
  1518.  
  1519.        SYNTAX     NonNegativeInteger
  1520.        UNITS      "minutes"
  1521.        MAX-ACCESS read-write
  1522.        STATUS     current
  1523.        DESCRIPTION
  1524.                "The value of upsEstimatedMinutesRemaining at which a
  1525.                lowBattery condition is declared.  For agents which
  1526.                support only discrete (discontinuous) values, then the
  1527.                agent shall round up to the next supported value.  If
  1528.                the requested value is larger than the largest
  1529.                supported value, then the largest supported value
  1530.                shall be selected."
  1531.        ::= { upsConfig 7 }
  1532.  
  1533.    upsConfigAudibleStatus OBJECT-TYPE
  1534.        SYNTAX     INTEGER {
  1535.            disabled(1),
  1536.            enabled(2),
  1537.            muted(3)
  1538.        }
  1539.        MAX-ACCESS read-write
  1540.        STATUS     current
  1541.        DESCRIPTION
  1542.                "The requested state of the audible alarm.  When in
  1543.                the disabled state, the audible alarm should never
  1544.                sound.  The enabled state is self-describing.  Setting
  1545.                this object to muted(3) when the audible alarm is
  1546.                sounding shall temporarily silence the alarm.  It will
  1547.                remain muted until it would normally stop sounding and
  1548.                the value returned for read operations during this
  1549.                period shall equal muted(3).  At the end of this
  1550.                period, the value shall revert to enabled(2).  Writes
  1551.                of the value muted(3) when the audible alarm is not
  1552.                sounding shall be accepted but otherwise shall have no
  1553.                effect."
  1554.        ::= { upsConfig 8 }
  1555.  
  1556.    upsConfigLowVoltageTransferPoint OBJECT-TYPE
  1557.        SYNTAX     NonNegativeInteger
  1558.        UNITS      "RMS Volts"
  1559.        MAX-ACCESS read-write
  1560.        STATUS     current
  1561.        DESCRIPTION
  1562.                "The minimum input line voltage allowed before the UPS
  1563.                system transfers to battery backup."
  1564.        ::= { upsConfig 9 }
  1565.  
  1566.    upsConfigHighVoltageTransferPoint OBJECT-TYPE
  1567.  
  1568.  
  1569.  
  1570. Case                                                           [Page 28]
  1571.  
  1572. RFC 1628                        UPS MIB                         May 1994
  1573.  
  1574.  
  1575.        SYNTAX     NonNegativeInteger
  1576.        UNITS      "RMS Volts"
  1577.        MAX-ACCESS read-write
  1578.        STATUS     current
  1579.        DESCRIPTION
  1580.                "The maximum line voltage allowed before the UPS
  1581.                system transfers to battery backup."
  1582.        ::= { upsConfig 10 }
  1583.  
  1584.  
  1585.    --
  1586.    -- notifications, i.e., traps
  1587.    --
  1588.    upsTraps              OBJECT IDENTIFIER ::= { upsMIB 2 }
  1589.  
  1590.    -- This section defines the well-known notifications sent by
  1591.    -- UPS agents.
  1592.    -- Care must be taken to insure that no particular notification
  1593.    -- is sent to a single receiving entity more often than once
  1594.    -- every five seconds.
  1595.  
  1596.    upsTrapOnBattery NOTIFICATION-TYPE
  1597.        OBJECTS { upsEstimatedMinutesRemaining, upsSecondsOnBattery,
  1598.                  upsConfigLowBattTime }
  1599.        STATUS  current
  1600.        DESCRIPTION
  1601.                "The UPS is operating on battery power.  This trap is
  1602.                persistent and is resent at one minute intervals until
  1603.                the UPS either turns off or is no longer running on
  1604.                battery."
  1605.      ::= { upsTraps 1 }
  1606.  
  1607.    upsTrapTestCompleted NOTIFICATION-TYPE
  1608.        OBJECTS { upsTestId, upsTestSpinLock,
  1609.                  upsTestResultsSummary, upsTestResultsDetail,
  1610.                  upsTestStartTime, upsTestElapsedTime }
  1611.        STATUS  current
  1612.        DESCRIPTION
  1613.                "This trap is sent upon completion of a UPS diagnostic
  1614.                test."
  1615.      ::= { upsTraps 2 }
  1616.  
  1617.    upsTrapAlarmEntryAdded NOTIFICATION-TYPE
  1618.        OBJECTS { upsAlarmId, upsAlarmDescr }
  1619.        STATUS  current
  1620.        DESCRIPTION
  1621.                "This trap is sent each time an alarm is inserted into
  1622.                to the alarm table.  It is sent on the insertion of
  1623.  
  1624.  
  1625.  
  1626. Case                                                           [Page 29]
  1627.  
  1628. RFC 1628                        UPS MIB                         May 1994
  1629.  
  1630.  
  1631.                all alarms except for upsAlarmOnBattery and
  1632.                upsAlarmTestInProgress."
  1633.      ::= { upsTraps 3 }
  1634.  
  1635.    upsTrapAlarmEntryRemoved NOTIFICATION-TYPE
  1636.        OBJECTS { upsAlarmId, upsAlarmDescr }
  1637.        STATUS  current
  1638.        DESCRIPTION
  1639.                "This trap is sent each time an alarm is removed from
  1640.                the alarm table.  It is sent on the removal of all
  1641.                alarms except for upsAlarmTestInProgress."
  1642.      ::= { upsTraps 4 }
  1643.  
  1644.  
  1645.    --
  1646.    -- conformance information
  1647.    --
  1648.    upsConformance        OBJECT IDENTIFIER ::= { upsMIB 3 }
  1649.  
  1650.    upsCompliances        OBJECT IDENTIFIER ::= { upsConformance 1 }
  1651.  
  1652.  
  1653.    --
  1654.    -- compliance statements
  1655.    --
  1656.  
  1657.    upsSubsetCompliance MODULE-COMPLIANCE
  1658.        STATUS     current
  1659.        DESCRIPTION
  1660.  
  1661.                "The compliance statement for UPSs that only support
  1662.                the two-contact communication protocol."
  1663.        MODULE -- this module
  1664.            MANDATORY-GROUPS  { upsSubsetIdentGroup,
  1665.                      upsSubsetBatteryGroup, upsSubsetInputGroup,
  1666.                      upsSubsetOutputGroup, upsSubsetAlarmGroup,
  1667.                      upsSubsetControlGroup, upsSubsetConfigGroup }
  1668.  
  1669.        OBJECT     upsBatteryStatus
  1670.        SYNTAX     INTEGER {
  1671.            batteryNormal(2),
  1672.            batteryLow(3)
  1673.        }
  1674.        DESCRIPTION
  1675.                "Support of the values unknown(1) and
  1676.                batteryDepleted(4) is not required."
  1677.  
  1678.        OBJECT     upsAlarmDescr
  1679.  
  1680.  
  1681.  
  1682. Case                                                           [Page 30]
  1683.  
  1684. RFC 1628                        UPS MIB                         May 1994
  1685.  
  1686.  
  1687.        DESCRIPTION
  1688.                "Support of all `well known' alarm types is not
  1689.                required.  The well known alarm types which must be
  1690.                supported are: upsAlarmOnBattery, upsAlarmLowBattery,
  1691.                upsAlarmInputBad, upsAlarmUpsOutputOff,
  1692.                upsAlarmUpsSystemOff, and upsAlarmTestInProgress."
  1693.  
  1694.        OBJECT     upsOutputSource
  1695.        SYNTAX     INTEGER {
  1696.            normal(2),
  1697.            battery(4)
  1698.        }
  1699.        DESCRIPTION
  1700.                "Support of the values other(1), none(2), bypass(4),
  1701.                booster(6) and reducer(7) is not required."
  1702.  
  1703.        OBJECT     upsShutdownType
  1704.        MIN-ACCESS read-only
  1705.        DESCRIPTION
  1706.                "Read-write access is not required, i.e., compliant
  1707.                systems need not support more than one shutdown type."
  1708.  
  1709.        OBJECT     upsAutoRestart
  1710.        MIN-ACCESS read-only
  1711.        DESCRIPTION
  1712.                "Read-write access is not required, i.e., compliant
  1713.                systems need not support more than one restart type."
  1714.  
  1715.        OBJECT     upsConfigInputVoltage
  1716.        MIN-ACCESS read-only
  1717.        DESCRIPTION
  1718.                "Read-write access is not required."
  1719.  
  1720.        OBJECT     upsConfigInputFreq
  1721.        MIN-ACCESS read-only
  1722.        DESCRIPTION
  1723.                "Read-write access is not required."
  1724.  
  1725.        OBJECT     upsConfigOutputVoltage
  1726.        MIN-ACCESS read-only
  1727.        DESCRIPTION
  1728.                "Read-write access is not required."
  1729.  
  1730.        OBJECT     upsConfigOutputFreq
  1731.        MIN-ACCESS read-only
  1732.        DESCRIPTION
  1733.                "Read-write access is not required."
  1734.  
  1735.  
  1736.  
  1737.  
  1738. Case                                                           [Page 31]
  1739.  
  1740. RFC 1628                        UPS MIB                         May 1994
  1741.  
  1742.  
  1743.        ::= { upsCompliances 1 }
  1744.  
  1745.    upsBasicCompliance MODULE-COMPLIANCE
  1746.        STATUS     current
  1747.        DESCRIPTION
  1748.  
  1749.                "The compliance statement for UPSs that support
  1750.                full-featured functions, such as control."
  1751.        MODULE -- this module
  1752.            MANDATORY-GROUPS { upsBasicIdentGroup,
  1753.                      upsBasicBatteryGroup, upsBasicInputGroup,
  1754.                      upsBasicOutputGroup, upsBasicAlarmGroup,
  1755.                      upsBasicTestGroup, upsBasicControlGroup,
  1756.                      upsBasicConfigGroup }
  1757.  
  1758.  
  1759.        OBJECT     upsAlarmDescr
  1760.        DESCRIPTION
  1761.                "Support of all `well known' alarm types is not
  1762.                required.  The well known alarm types which must be
  1763.                supported are: upsAlarmOnBattery, upsAlarmLowBattery,
  1764.                upsAlarmDepletedBattery, upsAlarmTempBad,
  1765.                upsAlarmInputBad, upsAlarmOutputOverload,
  1766.                upsAlarmOnBypass, upsAlarmBypassBad,
  1767.                upsAlarmOutputOffAsRequested,
  1768.                upsAlarmUpsOffAsRequested, upsAlarmUpsOutputOff,
  1769.                upsAlarmUpsSystemOff, upsAlarmGeneralFault,
  1770.                upsAlarmDiagnosticTestFailed,
  1771.                upsAlarmCommunicationsLost, upsAlarmShutdownPending,
  1772.                and upsAlarmTestInProgress."
  1773.  
  1774.        OBJECT     upsTestId
  1775.        DESCRIPTION
  1776.                "Support of all `well known' test types is not
  1777.                required.  If no tests are supported, then the only
  1778.                well known test type which must be supported is
  1779.                upsTestNoTestsInitiated."
  1780.  
  1781.        OBJECT     upsOutputSource
  1782.        SYNTAX     INTEGER {
  1783.            normal(2),
  1784.            battery(4)
  1785.        }
  1786.        DESCRIPTION
  1787.                "Support of the values other(1), none(2), bypass(4),
  1788.                booster(6) and reducer(7) is not required."
  1789.  
  1790.            GROUP upsBasicBypassGroup
  1791.  
  1792.  
  1793.  
  1794. Case                                                           [Page 32]
  1795.  
  1796. RFC 1628                        UPS MIB                         May 1994
  1797.  
  1798.  
  1799.            DESCRIPTION
  1800.                "The upsBasicBypassGroup is only required for UPSs
  1801.                that have a Bypass present."
  1802.        OBJECT     upsShutdownType
  1803.        MIN-ACCESS read-only
  1804.        DESCRIPTION
  1805.                "Read-write access is not required, i.e., compliant
  1806.                systems need not support more than one shutdown type."
  1807.  
  1808.        OBJECT     upsAutoRestart
  1809.        MIN-ACCESS read-only
  1810.        DESCRIPTION
  1811.                "Read-write access is not required, i.e., compliant
  1812.                systems need not support more than one restart type."
  1813.  
  1814.        OBJECT     upsConfigInputVoltage
  1815.        MIN-ACCESS read-only
  1816.        DESCRIPTION
  1817.                "Read-write access is not required."
  1818.  
  1819.        OBJECT     upsConfigInputFreq
  1820.        MIN-ACCESS read-only
  1821.        DESCRIPTION
  1822.                "Read-write access is not required."
  1823.  
  1824.        OBJECT     upsConfigOutputVoltage
  1825.        MIN-ACCESS read-only
  1826.        DESCRIPTION
  1827.                "Read-write access is not required."
  1828.  
  1829.        OBJECT     upsConfigOutputFreq
  1830.        MIN-ACCESS read-only
  1831.        DESCRIPTION
  1832.                "Read-write access is not required."
  1833.  
  1834.        OBJECT     upsConfigLowBattTime
  1835.        DESCRIPTION
  1836.                "Implementation of all possible values may be onerous
  1837.                for some systems.  Consequently, not all possible
  1838.                values must be supported.  However, at least two
  1839.                different manufacturer-selected values must be
  1840.                supported."
  1841.  
  1842.        ::= { upsCompliances 2 }
  1843.  
  1844.    upsFullCompliance MODULE-COMPLIANCE
  1845.        STATUS     current
  1846.        DESCRIPTION
  1847.  
  1848.  
  1849.  
  1850. Case                                                           [Page 33]
  1851.  
  1852. RFC 1628                        UPS MIB                         May 1994
  1853.  
  1854.  
  1855.                "The compliance statement for UPSs that support
  1856.                advanced full-featured functions."
  1857.        MODULE -- this module
  1858.            MANDATORY-GROUPS { upsFullIdentGroup, upsFullBatteryGroup,
  1859.                      upsFullInputGroup, upsFullOutputGroup,
  1860.                      upsFullAlarmGroup, upsFullTestGroup,
  1861.                      upsFullControlGroup, upsFullConfigGroup }
  1862.  
  1863.        OBJECT     upsAlarmDescr
  1864.        DESCRIPTION
  1865.                "Support of all `well known' alarm types is not
  1866.                required.  The well known alarm types which must be
  1867.                supported are: upsAlarmBatteryBad, upsAlarmOnBattery,
  1868.                upsAlarmLowBattery, upsAlarmDepletedBattery,
  1869.                upsAlarmTempBad, upsAlarmInputBad, upsAlarmOnBypass,
  1870.                upsAlarmBypassBad, upsAlarmOutputOffAsRequested,
  1871.                upsAlarmUpsOffAsRequested, upsAlarmUpsOutputOff,
  1872.                upsAlarmUpsSystemOff, upsAlarmGeneralFault,
  1873.                upsAlarmDiagnosticTestFailed,
  1874.                upsAlarmCommunicationsLost, upsAlarmShutdownPending,
  1875.                and upsAlarmTestInProgress."
  1876.  
  1877.        OBJECT     upsTestId
  1878.        DESCRIPTION
  1879.                "Support of all `well known' test types is not
  1880.                required.  The well known test types which must be
  1881.                supported are: upsTestNoTestsInitiated,
  1882.                upsTestGeneralSystemsTest, and
  1883.                upsTestQuickBatteryTest."
  1884.  
  1885.        OBJECT     upsOutputSource
  1886.        SYNTAX     INTEGER {
  1887.            normal(2),
  1888.            battery(4)
  1889.        }
  1890.        DESCRIPTION
  1891.                "Support of the values other(1), none(2), bypass(4),
  1892.                booster(6) and reducer(7) is not required."
  1893.  
  1894.            GROUP upsFullBypassGroup
  1895.            DESCRIPTION
  1896.                "The upsFullBypassGroup is only required for UPSs that
  1897.                have a Bypass present."
  1898.  
  1899.        OBJECT     upsShutdownType
  1900.        MIN-ACCESS read-only
  1901.        DESCRIPTION
  1902.                "Read-write access is not required, i.e., compliant
  1903.  
  1904.  
  1905.  
  1906. Case                                                           [Page 34]
  1907.  
  1908. RFC 1628                        UPS MIB                         May 1994
  1909.  
  1910.  
  1911.                systems need not support more than one shutdown type."
  1912.  
  1913.        OBJECT     upsAutoRestart
  1914.        MIN-ACCESS read-only
  1915.        DESCRIPTION
  1916.                "Read-write access is not required, i.e., compliant
  1917.                systems need not support more than one restart type."
  1918.  
  1919.        OBJECT     upsConfigInputVoltage
  1920.        MIN-ACCESS read-only
  1921.        DESCRIPTION
  1922.                "Read-write access is not required."
  1923.  
  1924.        OBJECT     upsConfigInputFreq
  1925.        MIN-ACCESS read-only
  1926.        DESCRIPTION
  1927.                "Read-write access is not required."
  1928.  
  1929.        OBJECT     upsConfigOutputVoltage
  1930.        MIN-ACCESS read-only
  1931.        DESCRIPTION
  1932.                "Read-write access is not required."
  1933.  
  1934.        OBJECT     upsConfigOutputFreq
  1935.        MIN-ACCESS read-only
  1936.        DESCRIPTION
  1937.                "Read-write access is not required."
  1938.  
  1939.        OBJECT     upsConfigLowBattTime
  1940.        DESCRIPTION
  1941.                "Implementation of all possible values may be onerous
  1942.                for some systems.  Consequently, not all possible
  1943.                values must be supported.  However, at least two
  1944.                different manufacturer-selected values must be
  1945.                supported."
  1946.  
  1947.        ::= { upsCompliances 3 }
  1948.  
  1949.  
  1950.    --
  1951.    -- units of conformance
  1952.    --
  1953.  
  1954.    -- summary at a glance:
  1955.  
  1956.    --                                      subset  basic   adv
  1957.    --upsIdentManufacturer                  x       x       x
  1958.    --upsIdentModel                         x       x       x
  1959.  
  1960.  
  1961.  
  1962. Case                                                           [Page 35]
  1963.  
  1964. RFC 1628                        UPS MIB                         May 1994
  1965.  
  1966.  
  1967.    --upsIdentUPSSoftwareVersion                    x       x
  1968.    --upsIdentAgentSoftwareVersion          x       x       x
  1969.    --upsIdentName                          x       x       x
  1970.    --upsIdentAttachedDevices               x               x
  1971.    --
  1972.    --upsBatteryStatus                      x       x       x  notes
  1973.    --upsSecondsOnBattery                   x       x       x
  1974.    --upsEstimatedMinutesRemaining                          x
  1975.    --upsEstimatedChargeRemaining                           x
  1976.    --upsBatteryVoltage
  1977.    --upsBatteryCurrent
  1978.    --upsBatteryTemperature
  1979.    --
  1980.    --upsInputLineBads                      x       x       x
  1981.    --upsInputNumLines                              x       x
  1982.    --upsInputFrequency                             x       x
  1983.    --upsInputVoltage                               x       x
  1984.    --upsInputCurrent
  1985.    --upsInputTruePower
  1986.    --
  1987.    --upsOutputSource                       x       x       x  notes
  1988.    --upsOutputFrequency                            x       x
  1989.    --upsOutputNumLines                             x       x
  1990.    --upsOutputVoltage                              x       x
  1991.    --upsOutputCurrent                                      x
  1992.    --upsOutputPower                                        x
  1993.    --upsOutputPercentLoad                                  x
  1994.    --
  1995.    --
  1996.    --upsBypassFrequency                            x       x  notes
  1997.    --upsBypassNumLines                             x       x
  1998.    --upsBypassVoltage                              x       x
  1999.    --upsBypassCurrent
  2000.    --upsBypassPower
  2001.    --
  2002.    --
  2003.    --upsAlarmsPresent                      x       x       x
  2004.    --upsAlarmDescr                         x       x       x  notes
  2005.    --upsAlarmTime                          x       x       x
  2006.    --
  2007.    --upsTestId                                     x       x  notes
  2008.    --upsTestSpinLock                               x       x
  2009.    --upsTestResultsSummary                         x       x
  2010.    --upsTestResultsDetail                          x       x
  2011.    --upsTestStartTime                              x       x
  2012.    --upsTestElapsedTime                            x       x
  2013.    --
  2014.    --upsShutdownType                       x       x       x  notes
  2015.  
  2016.  
  2017.  
  2018. Case                                                           [Page 36]
  2019.  
  2020. RFC 1628                        UPS MIB                         May 1994
  2021.  
  2022.  
  2023.    --upsShutdownAfterDelay                 x       x       x
  2024.    --upsStartupAfterDelay                          x       x
  2025.    --upsRebootWithDuration                         x       x
  2026.    --upsAutoRestart                        x       x       x  notes
  2027.    --
  2028.    --upsConfigInputVoltage                 x       x       x  notes
  2029.    --upsConfigInputFreq                    x       x       x  notes
  2030.    --upsConfigOutputVoltage                x       x       x  notes
  2031.    --upsConfigOutputFreq                   x       x       x  notes
  2032.    --upsConfigOutputVA                     x       x       x
  2033.    --upsConfigOutputPower                  x       x       x
  2034.    --upsConfigLowBattTime                          x       x  notes
  2035.    --upsConfigAudibleStatus                        x       x
  2036.    --upsConfigLowVoltageTransferPoint
  2037.    --upsConfigHighVoltageTransferPoint
  2038.  
  2039.  
  2040.    -- units of conformance
  2041.    upsGroups             OBJECT IDENTIFIER ::= { upsConformance 2 }
  2042.  
  2043.    upsSubsetGroups       OBJECT IDENTIFIER ::= { upsGroups 1 }
  2044.  
  2045.    upsSubsetIdentGroup OBJECT-GROUP
  2046.        OBJECTS { upsIdentManufacturer, upsIdentModel,
  2047.                  upsIdentAgentSoftwareVersion, upsIdentName,
  2048.                  upsIdentAttachedDevices }
  2049.        STATUS  current
  2050.        DESCRIPTION
  2051.                "The upsSubsetIdentGroup defines objects which are
  2052.                common across all UPSs which meet subset compliance.
  2053.                Most devices which conform to the upsSubsetIdentGroup
  2054.                will provide access to these objects via a proxy
  2055.                agent.  If the proxy agent is compatible with multiple
  2056.                UPS types, configuration of the proxy agent will
  2057.                require specifying some of these values, either
  2058.                individually, or as a group (perhaps through a table
  2059.                lookup mechanism based on the UPS model number)."
  2060.        ::= { upsSubsetGroups 1 }
  2061.  
  2062.    upsSubsetBatteryGroup OBJECT-GROUP
  2063.        OBJECTS { upsBatteryStatus, upsSecondsOnBattery }
  2064.        STATUS  current
  2065.        DESCRIPTION
  2066.                "The upsSubsetBatteryGroup defines the objects that
  2067.                are common to battery groups of two-contact UPSs."
  2068.        ::= { upsSubsetGroups 2 }
  2069.  
  2070.    upsSubsetInputGroup OBJECT-GROUP
  2071.  
  2072.  
  2073.  
  2074. Case                                                           [Page 37]
  2075.  
  2076. RFC 1628                        UPS MIB                         May 1994
  2077.  
  2078.  
  2079.        OBJECTS { upsInputLineBads }
  2080.        STATUS  current
  2081.        DESCRIPTION
  2082.                "The upsSubsetInputGroup defines the objects that are
  2083.                common to the Input groups of two-contact UPSs."
  2084.        ::= { upsSubsetGroups 3 }
  2085.  
  2086.    upsSubsetOutputGroup OBJECT-GROUP
  2087.        OBJECTS { upsOutputSource }
  2088.        STATUS  current
  2089.        DESCRIPTION
  2090.                "The upsSubsetOutputGroup defines the objects that are
  2091.                common to the Output groups of two-contact UPSs."
  2092.        ::= { upsSubsetGroups 4 }
  2093.  
  2094.  
  2095.    -- { upsSubsetGroups 5 } is reserved for
  2096.    -- future use (upsSubsetBypassGroup)
  2097.  
  2098.    upsSubsetAlarmGroup OBJECT-GROUP
  2099.        OBJECTS { upsAlarmsPresent, upsAlarmDescr, upsAlarmTime }
  2100.        STATUS  current
  2101.        DESCRIPTION
  2102.                "The upsSubsetAlarmGroup defines the objects that are
  2103.                common to the Alarm groups of two-contact UPSs."
  2104.        ::= { upsSubsetGroups 6 }
  2105.  
  2106.    -- { upsSubsetGroups 7 } is reserved for
  2107.    -- future use (upsSubsetTestGroup)
  2108.  
  2109.    upsSubsetControlGroup OBJECT-GROUP
  2110.        OBJECTS { upsShutdownType, upsShutdownAfterDelay,
  2111.                      upsAutoRestart }
  2112.        STATUS  current
  2113.        DESCRIPTION
  2114.                "The upsSubsetControlGroup defines the objects that
  2115.                are common to the Control groups of two-contact UPSs."
  2116.        ::= { upsSubsetGroups 8 }
  2117.  
  2118.    upsSubsetConfigGroup OBJECT-GROUP
  2119.        OBJECTS { upsConfigInputVoltage, upsConfigInputFreq,
  2120.                  upsConfigOutputVoltage, upsConfigOutputFreq,
  2121.                  upsConfigOutputVA, upsConfigOutputPower }
  2122.        STATUS  current
  2123.        DESCRIPTION
  2124.                "The upsSubsetConfigGroup defines the objects that are
  2125.                common to the Config groups of two-contact UPSs."
  2126.        ::= { upsSubsetGroups 9 }
  2127.  
  2128.  
  2129.  
  2130. Case                                                           [Page 38]
  2131.  
  2132. RFC 1628                        UPS MIB                         May 1994
  2133.  
  2134.  
  2135.    upsBasicGroups        OBJECT IDENTIFIER ::= { upsGroups 2 }
  2136.  
  2137.    upsBasicIdentGroup OBJECT-GROUP
  2138.        OBJECTS { upsIdentManufacturer, upsIdentModel,
  2139.                  upsIdentUPSSoftwareVersion,
  2140.                  upsIdentAgentSoftwareVersion, upsIdentName }
  2141.        STATUS  current
  2142.        DESCRIPTION
  2143.                "The upsBasicIdentGroup defines objects which are
  2144.                common to the Ident group of compliant UPSs which
  2145.                support basic functions."
  2146.        ::= { upsBasicGroups 1 }
  2147.  
  2148.    upsBasicBatteryGroup OBJECT-GROUP
  2149.        OBJECTS { upsBatteryStatus, upsSecondsOnBattery }
  2150.        STATUS  current
  2151.        DESCRIPTION
  2152.                "The upsBasicBatteryGroup defines the objects that are
  2153.                common to the battery groups of compliant UPSs which
  2154.                support basic functions."
  2155.        ::= { upsBasicGroups 2 }
  2156.  
  2157.    upsBasicInputGroup OBJECT-GROUP
  2158.        OBJECTS { upsInputLineBads, upsInputNumLines,
  2159.                  upsInputFrequency, upsInputVoltage }
  2160.        STATUS  current
  2161.        DESCRIPTION
  2162.                "The upsBasicInputGroup defines the objects that are
  2163.                common to the Input groups of compliant UPSs which
  2164.                support basic functions."
  2165.        ::= { upsBasicGroups 3 }
  2166.  
  2167.    upsBasicOutputGroup OBJECT-GROUP
  2168.        OBJECTS { upsOutputSource, upsOutputFrequency,
  2169.                  upsOutputNumLines, upsOutputVoltage }
  2170.        STATUS  current
  2171.        DESCRIPTION
  2172.                "The upsBasicOutputGroup defines the objects that are
  2173.                common to the Output groups of compliant UPSs which
  2174.                support basic functions."
  2175.        ::= { upsBasicGroups 4 }
  2176.  
  2177.    upsBasicBypassGroup OBJECT-GROUP
  2178.        OBJECTS { upsBypassFrequency, upsBypassNumLines,
  2179.                  upsBypassVoltage }
  2180.        STATUS  current
  2181.        DESCRIPTION
  2182.                "The upsBasicBypassGroup defines the objects that are
  2183.  
  2184.  
  2185.  
  2186. Case                                                           [Page 39]
  2187.  
  2188. RFC 1628                        UPS MIB                         May 1994
  2189.  
  2190.  
  2191.                common to the Bypass groups of compliant UPSs which
  2192.                support basic functions."
  2193.        ::= { upsBasicGroups 5 }
  2194.  
  2195.    upsBasicAlarmGroup OBJECT-GROUP
  2196.        OBJECTS { upsAlarmsPresent, upsAlarmDescr, upsAlarmTime }
  2197.        STATUS  current
  2198.        DESCRIPTION
  2199.  
  2200.                "The upsBasicAlarmGroup defines the objects that are
  2201.                common to the Alarm  groups of compliant UPSs which
  2202.                support basic functions."
  2203.        ::= { upsBasicGroups 6 }
  2204.  
  2205.    upsBasicTestGroup OBJECT-GROUP
  2206.        OBJECTS { upsTestId, upsTestSpinLock,
  2207.                  upsTestResultsSummary, upsTestResultsDetail,
  2208.                  upsTestStartTime, upsTestElapsedTime }
  2209.        STATUS  current
  2210.        DESCRIPTION
  2211.                "The upsBasicTestGroup defines the objects that are
  2212.                common to the Test groups of compliant UPSs which
  2213.                support basic functions."
  2214.        ::= { upsBasicGroups 7 }
  2215.  
  2216.    upsBasicControlGroup OBJECT-GROUP
  2217.        OBJECTS { upsShutdownType, upsShutdownAfterDelay,
  2218.                  upsStartupAfterDelay, upsRebootWithDuration,
  2219.                  upsAutoRestart }
  2220.        STATUS  current
  2221.        DESCRIPTION
  2222.                "The upsBasicControlGroup defines the objects that are
  2223.                common to the Control groups of compliant UPSs which
  2224.                support basic functions."
  2225.        ::= { upsBasicGroups 8 }
  2226.  
  2227.    upsBasicConfigGroup OBJECT-GROUP
  2228.        OBJECTS { upsConfigInputVoltage, upsConfigInputFreq,
  2229.                  upsConfigOutputVoltage, upsConfigOutputFreq,
  2230.                  upsConfigOutputVA, upsConfigOutputPower,
  2231.                  upsConfigLowBattTime, upsConfigAudibleStatus }
  2232.        STATUS  current
  2233.        DESCRIPTION
  2234.                "The upsBasicConfigGroup defines the objects that are
  2235.                common to the Config groups of UPSs which support
  2236.                basic functions."
  2237.        ::= { upsBasicGroups 9 }
  2238.  
  2239.  
  2240.  
  2241.  
  2242. Case                                                           [Page 40]
  2243.  
  2244. RFC 1628                        UPS MIB                         May 1994
  2245.  
  2246.  
  2247.    upsFullGroups         OBJECT IDENTIFIER ::= { upsGroups 3 }
  2248.  
  2249.    upsFullIdentGroup OBJECT-GROUP
  2250.        OBJECTS { upsIdentManufacturer, upsIdentModel,
  2251.                  upsIdentUPSSoftwareVersion,
  2252.                  upsIdentAgentSoftwareVersion, upsIdentName,
  2253.                  upsIdentAttachedDevices }
  2254.        STATUS  current
  2255.        DESCRIPTION
  2256.                "The upsFullIdentGroup defines objects which are
  2257.                common to the Ident group of fully compliant UPSs."
  2258.        ::= { upsFullGroups 1 }
  2259.  
  2260.    upsFullBatteryGroup OBJECT-GROUP
  2261.        OBJECTS { upsBatteryStatus, upsSecondsOnBattery,
  2262.                  upsEstimatedMinutesRemaining,
  2263.                  upsEstimatedChargeRemaining }
  2264.        STATUS  current
  2265.        DESCRIPTION
  2266.                "The upsFullBatteryGroup defines the objects that are
  2267.                common to the battery groups of fully compliant UPSs."
  2268.        ::= { upsFullGroups 2 }
  2269.  
  2270.    upsFullInputGroup OBJECT-GROUP
  2271.        OBJECTS { upsInputLineBads, upsInputNumLines,
  2272.                  upsInputFrequency, upsInputVoltage }
  2273.        STATUS  current
  2274.        DESCRIPTION
  2275.                "The upsFullInputGroup defines the objects that are
  2276.                common to the Input groups of fully compliant UPSs."
  2277.        ::= { upsFullGroups 3 }
  2278.  
  2279.    upsFullOutputGroup OBJECT-GROUP
  2280.        OBJECTS { upsOutputSource, upsOutputFrequency,
  2281.                  upsOutputNumLines, upsOutputVoltage,
  2282.                  upsOutputCurrent, upsOutputPower,
  2283.                  upsOutputPercentLoad }
  2284.        STATUS  current
  2285.        DESCRIPTION
  2286.                "The upsFullOutputGroup defines the objects that are
  2287.                common to the Output groups of fully compliant UPSs."
  2288.        ::= { upsFullGroups 4 }
  2289.  
  2290.    upsFullBypassGroup OBJECT-GROUP
  2291.        OBJECTS { upsBypassFrequency, upsBypassNumLines,
  2292.                  upsBypassVoltage }
  2293.        STATUS  current
  2294.        DESCRIPTION
  2295.  
  2296.  
  2297.  
  2298. Case                                                           [Page 41]
  2299.  
  2300. RFC 1628                        UPS MIB                         May 1994
  2301.  
  2302.  
  2303.                "The upsFullBypassGroup defines the objects that are
  2304.                common to the Bypass groups of fully compliant UPSs."
  2305.        ::= { upsFullGroups 5 }
  2306.  
  2307.    upsFullAlarmGroup OBJECT-GROUP
  2308.        OBJECTS { upsAlarmsPresent, upsAlarmDescr, upsAlarmTime }
  2309.        STATUS  current
  2310.        DESCRIPTION
  2311.  
  2312.                "The upsFullAlarmGroup defines the objects that are
  2313.                common to the Alarm  groups of fully compliant UPSs."
  2314.        ::= { upsFullGroups 6 }
  2315.  
  2316.    upsFullTestGroup OBJECT-GROUP
  2317.        OBJECTS { upsTestId, upsTestSpinLock,
  2318.                  upsTestResultsSummary, upsTestResultsDetail,
  2319.                  upsTestStartTime, upsTestElapsedTime }
  2320.        STATUS  current
  2321.        DESCRIPTION
  2322.                "The upsFullTestGroup defines the objects that are
  2323.                common to the Test groups of fully compliant UPSs."
  2324.        ::= { upsFullGroups 7 }
  2325.  
  2326.    upsFullControlGroup OBJECT-GROUP
  2327.        OBJECTS { upsShutdownType, upsShutdownAfterDelay,
  2328.                  upsStartupAfterDelay, upsRebootWithDuration,
  2329.                  upsAutoRestart }
  2330.        STATUS  current
  2331.        DESCRIPTION
  2332.    "The upsFullControlGroup defines the objects that are
  2333.    common to the Control groups of fully compliant UPSs."
  2334.        ::= { upsFullGroups 8 }
  2335.  
  2336.    upsFullConfigGroup OBJECT-GROUP
  2337.        OBJECTS { upsConfigInputVoltage, upsConfigInputFreq,
  2338.                  upsConfigOutputVoltage, upsConfigOutputFreq,
  2339.                  upsConfigOutputVA, upsConfigOutputPower,
  2340.                  upsConfigLowBattTime, upsConfigAudibleStatus }
  2341.        STATUS  current
  2342.        DESCRIPTION
  2343.                "The upsFullConfigGroup defines the objects that are
  2344.                common to the Config groups of fully compliant UPSs."
  2345.        ::= { upsFullGroups 9 }
  2346.  
  2347.    END
  2348.  
  2349.  
  2350.  
  2351.  
  2352.  
  2353.  
  2354. Case                                                           [Page 42]
  2355.  
  2356. RFC 1628                        UPS MIB                         May 1994
  2357.  
  2358.  
  2359. 5.  Acknowledgements
  2360.  
  2361.    The UPS MIB represents the combined work of the IETF UPS MIB Working
  2362.    Group, with particular, substantial authorship contributions from:
  2363.  
  2364.            Mike Davison
  2365.            Fibercom, Inc.
  2366.  
  2367.            Ray Wasson
  2368.            Consultant
  2369.  
  2370.            Roger Draper
  2371.            Liebert Corporation
  2372.  
  2373.            Ken Key
  2374.            SNMP Research, Incorporated
  2375.  
  2376.            Pete Yoest
  2377.            American Power Conversion
  2378.  
  2379.            Doug Rademacher
  2380.            American Power Conversion
  2381.  
  2382.            Ron Pitt
  2383.            Network Security Systems, Inc
  2384.  
  2385.            Terry Zumwalt
  2386.            International Power Machines
  2387.  
  2388.            Lawren Markle
  2389.            Tripp Lite
  2390.  
  2391.            Bill Elliot
  2392.            ONEAC
  2393.  
  2394.            Tom Brennan
  2395.            Exide Electronics
  2396.  
  2397.            Brian Young
  2398.            Best Power Technology
  2399.  
  2400.  
  2401.  
  2402.  
  2403.  
  2404.  
  2405.  
  2406.  
  2407.  
  2408.  
  2409.  
  2410. Case                                                           [Page 43]
  2411.  
  2412. RFC 1628                        UPS MIB                         May 1994
  2413.  
  2414.  
  2415. 6.  References
  2416.  
  2417.    [1] Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple
  2418.        Network Management Protocol", STD 15, RFC 1157, SNMP Research,
  2419.        Inc., Performance Systems International, Performance Systems
  2420.        International, MIT Laboratory for Computer Science, May 1990.
  2421.  
  2422.    [2] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Protocol
  2423.        Operations for Version 2 of the Simple Network Management
  2424.        Protocol (SNMPv2)", RFC 1448, SNMP Research, Inc., Hughes LAN
  2425.        Systems, Dover Beach Consulting, Inc., Carnegie Mellon
  2426.        University, April 1993.
  2427.  
  2428.    [3] McCloghrie, K., and M. Rose, Editors, "Management Information
  2429.        Base for Network Management of TCP/IP-based internets: MIB-II",
  2430.        STD 17, RFC 1213, Hughes LAN Systems, Performance Systems
  2431.        International, March 1991.
  2432.  
  2433.    [4] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Structure
  2434.        of Management Information for Version 2 of the Simple Network
  2435.        Management Protocol (SNMPv2)", RFC 1442, SNMP Research, Inc.,
  2436.        Hughes LAN Systems, Dover Beach Consulting, Inc., Carnegie Mellon
  2437.        University, April 1993.
  2438.  
  2439.    [5] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
  2440.        "Conformance Statements for Version 2 of the Simple Network
  2441.        Management Protocol (SNMPv2)", RFC 1444, SNMP Research, Inc.,
  2442.        Hughes LAN Systems, Dover Beach Consulting, Inc., Carnegie Mellon
  2443.        University, April, 1993.
  2444.  
  2445.    [6] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser, "Textual
  2446.        Conventions for Version 2 of the Simple Network Management
  2447.        Protocol (SNMPv2)", RFC 1443, SNMP Research, Inc., Hughes LAN
  2448.        Systems, Dover Beach Consulting, Inc., Carnegie Mellon
  2449.        University, April 1993.
  2450.  
  2451.  
  2452.  
  2453.  
  2454.  
  2455.  
  2456.  
  2457.  
  2458.  
  2459.  
  2460.  
  2461.  
  2462.  
  2463.  
  2464.  
  2465.  
  2466. Case                                                           [Page 44]
  2467.  
  2468. RFC 1628                        UPS MIB                         May 1994
  2469.  
  2470.  
  2471. 7.  Security Considerations
  2472.  
  2473.    Security issues are not discussed in this memo.
  2474.  
  2475. 8.  Author's Address
  2476.  
  2477.    Jeffrey D. Case, Ph.D.
  2478.    SNMP Research, Incorporated
  2479.    3001 Kimberlin Heights Road
  2480.    Knoxville, Tennessee 37920
  2481.  
  2482.    Phone:  (615) 573-1434
  2483.    EMail:  case@SNMP.COM
  2484.  
  2485.  
  2486.  
  2487.  
  2488.  
  2489.  
  2490.  
  2491.  
  2492.  
  2493.  
  2494.  
  2495.  
  2496.  
  2497.  
  2498.  
  2499.  
  2500.  
  2501.  
  2502.  
  2503.  
  2504.  
  2505.  
  2506.  
  2507.  
  2508.  
  2509.  
  2510.  
  2511.  
  2512.  
  2513.  
  2514.  
  2515.  
  2516.  
  2517.  
  2518.  
  2519.  
  2520.  
  2521.  
  2522. Case                                                           [Page 45]
  2523.  
  2524.